package com.ynet.middleground.approve.dto;

import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author liulx
 * @description 流程实例信息传输对象
 * @date 2019-10-22 22:14
 */
@Data
@ApiModel(value = "流程实例信息传输对象", description = "流程实例信息传输对象")
public class ProcessInstanceDTO implements Serializable {

    private static final long serialVersionUID = 7159766851113146474L;

    @ApiModelProperty(value = "流程实例ID", notes = "流程实例ID", dataType = "String")
    private String id;

    @ApiModelProperty(value = "流程部署ID", notes = "流程部署ID", dataType = "String")
    private String deploymentId;

    @ApiModelProperty(value = "业务Key", notes = "与流程实例关联的业务Key", dataType = "String")
    private String businessKey;

    @ApiModelProperty(value = "流程定义ID", notes = "流程定义ID", dataType = "String")
    private String processDefinitionId;

    @ApiModelProperty(value = "流程定义名称", notes = "流程定义名称", dataType = "String")
    private String processDefinitionName;

    @ApiModelProperty(value = "流程定义Key", notes = "流程定义Key，对应流程xml文件中Process标签的ID", dataType = "String")
    private String processDefinitionKey;

    @ApiModelProperty(value = "流程定义版本", notes = "流程定义版本", dataType = "Integer")
    private Integer processDefinitionVersion;

    @ApiModelProperty(value = "是否挂起", notes = "是否挂起", dataType = "boolean")
    private boolean suspended;

    @ApiModelProperty(value = "流程实例名称", notes = "流程实例名称", dataType = "String")
    private String name;

    @ApiModelProperty(value = "描述", notes = "描述", dataType = "String")
    private String description;

    @ApiModelProperty(value = "开始时间", notes = "流程开始时间", dataType = "java.util.Date")
    private Date startTime;

    @ApiModelProperty(value = "流程发起人", notes = "流程发起人", dataType = "String")
    private String startUserId;

    @ApiModelProperty(value = "开始节点ID", notes = "流程开始节点ID", dataType = "String")
    private String startActivityId;

    @ApiModelProperty(value = "删除理由", notes = "删除理由", dataType = "String")
    private String deleteReason;

}
